using System;
using Domain.Dto;
using Domain.Model;
using Gmmy.DomainExtension;
using System.Threading.Tasks;
using Domain.Dto.Role;

namespace Domain.Interface
{
    public interface IRoleRepository : IRepository<Role, EntityList<Role>>
    {
		/// <summary>
        /// 获取角色表列表
        /// </summary>
        /// <param name="input"></param>
        /// <param name="specification"></param>
        /// <returns></returns>
        Task<EntityList<RoleListDto>> GetList(RoleListInput input, ISpecification<RoleListInput> specification);

        /// <summary>
        /// 获取角色详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<RoleDetailDto> GetRoleDetail(Guid id);
    }
}